Concern Driven Software Development
نویسنده
چکیده
This paper describes the vision of Concern-Driven Development (CDD), a novel software development paradigm that extends model-driven engineering with best practices from reuse, advanced modularization techniques, goal modelling, and software product line research. CDD advocates the use of a three-part interface to describe units of reuse, i.e., concerns. The variation interface describes required design decisions and their impact on high level system qualities, both explicitly expressed using feature models and goal models. The customization interface allows the chosen variation to be adapted to a specific reuse context, while the usage interface defines how a customized concern may eventually be used. When a concern is reused, the modeller first uses the variation interface to select the feature configuration that has the desired impact on stakeholder goals and system qualities, then adapts the concern to the context of the application under development with the help of the customization interface, and finally accesses the concern’s functionality through its usage interface. We argue that, if CDD is successfully adopted on a large scale, it will transform the software engineering discipline by enabling software engineers to specialize to a greater degree and hence align the practice of software engineering closer to what is done in other engineering disciplines.
منابع مشابه
A Model-Driven Decision Support System for Software Cost Estimation (Case Study: Projects in NASA60 Dataset)
Estimating the costs of software development is one of the most important activities in software project management. Inaccuracies in such estimates may cause irreparable loss. A low estimate of the cost of projects will result in failure on delivery on time and indicates the inefficiency of the software development team. On the other hand, high estimates of resources and costs for a project wil...
متن کاملGeneric Reusable Concern Compositions
The increasing complexity of software applications requires improved software development techniques in order to cope with, a.o., software reuse and evolution, the management of heterogeneous features, and the retargeting of systems towards new SW platforms. The introduction of aspect-oriented software development (AOSD) and the support for model-driven development (MDD) are two important and p...
متن کاملSeparation of concerns and Model Driven Development Applied to Web Systems
Aspect-oriented software development and model-driven software development are two approaches that have been widely accepted by the research community. Combining both of them, our software can be better adapted to changes of requirements and technology. This paper introduces a thesis project that is based on these two props, and also proposes the use of concern modelling languages to adopt the ...
متن کاملExtending Security Requirement Patterns to Support Aspect-Oriented Risk-Driven Development
This paper presents a pattern representation of security concern solutions and their interactions that support aspect-oriented risk-driven development (AORDD). Security concern solutions are specified early in the development process, using UML as a rigorous notation for sets of patterns. A profile consisting of stereotypes and tagged values supports security concern requirement traceability th...
متن کاملModel-Driven Theme/UML
TTTTheme/UML is an existing approach to aspect-oriented modelling that supports the modularisation and composition of concerns, including crosscutting ones, in design. To date, its lack of integration with model-driven engineering (MDE) techniques has limited its benefits across the development lifecycle. Here, we describe our work on facilitating the use of Theme/UML as part of an MDE process....
متن کامل